package com.yyl.rbacs.sys.service;

import com.yyl.rbacs.sys.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yyl.rbacs.utils.PageVo;

import java.util.Map;

/**
 * <p>
 * 角色 服务类
 * </p>
 *
 * @author YuanSir
 * @since 2022-10-28
 */
public interface ISysRoleService extends IService<SysRole> {
    
    /**
     * 分页查询角色信息
     * @param params
     * @return
     */
    PageVo queryPage(Map<String, String> params);
    
    /**
     * 保存角色信息
     * （1）保存基本信息到sys_role
     * （2）保存角色和菜单信息到sys_role_menu
     * （3）保存角色和部门关系到sys_role_dept
     * @param sysRole
     */
    void saveRole(SysRole sysRole);
    
    /**
     * 查询Id对应的橘色信息，需要把menuIdList和deptIdList查询出来
     * @param roleId
     * @return
     */
    SysRole getRoleById(Long roleId);
    
    /**
     * 更新角色信息，需要更新角色基本信息表sys_role，更新sys_role_menu，更新sys_role_dept
     * @param sysRole
     */
    void updateRole(SysRole sysRole);
}
